﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	[DataContract]
	public enum РежимыИспользованияРасширеннойАналитики
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"8f435249-308b-45ba-aa11-ad64cf146a64\", \"Представление\":\"РегламентированныйУчет\"}")]
		РегламентированныйУчет = 0,//Регламентированный учет
		[EnumMember(Value = "{\"Ссылка\":\"a1bfa5cc-424c-46c6-8e0c-e2e669082794\", \"Представление\":\"РегламентированныйУчетСДополнительнойАналитикой\"}")]
		РегламентированныйУчетСДополнительнойАналитикой = 1,//Регламентированный учет с дополнительной аналитикой
		[EnumMember(Value = "{\"Ссылка\":\"ea6ecd9e-8ff6-4403-96d4-fa7ed8b43663\", \"Представление\":\"УправленческийИРегламентированныйУчет\"}")]
		УправленческийИРегламентированныйУчет = 2,//Управленческий и регламентированный учет
	}
	public static partial class РежимыИспользованияРасширеннойАналитики_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid РегламентированныйУчет = new Guid("64ad11aa-14cf-646a-45ba-308b8f435249");//Регламентированный учет
		public static readonly Guid РегламентированныйУчетСДополнительнойАналитикой = new Guid("e6e20c8e-0869-9427-46c6-424ca1bfa5cc");//Регламентированный учет с дополнительной аналитикой
		public static readonly Guid УправленческийИРегламентированныйУчет = new Guid("7efad496-b4d8-6336-4403-8ff6ea6ecd9e");//Управленческий и регламентированный учет
		public static РежимыИспользованияРасширеннойАналитики Получить(this РежимыИспользованияРасширеннойАналитики Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static РежимыИспользованияРасширеннойАналитики Получить(this РежимыИспользованияРасширеннойАналитики Значение, Guid Ссылка)
		{
			if(Ссылка == РегламентированныйУчет)
			{
				return РежимыИспользованияРасширеннойАналитики.РегламентированныйУчет;
			}
			else if(Ссылка == РегламентированныйУчетСДополнительнойАналитикой)
			{
				return РежимыИспользованияРасширеннойАналитики.РегламентированныйУчетСДополнительнойАналитикой;
			}
			else if(Ссылка == УправленческийИРегламентированныйУчет)
			{
				return РежимыИспользованияРасширеннойАналитики.УправленческийИРегламентированныйУчет;
			}
			return РежимыИспользованияРасширеннойАналитики.ПустаяСсылка;
		}
		public static byte[] Ключ(this РежимыИспользованияРасширеннойАналитики Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this РежимыИспользованияРасширеннойАналитики Значение)
		{
			switch (Значение)
			{
				case РежимыИспользованияРасширеннойАналитики.РегламентированныйУчет: return РегламентированныйУчет;
				case РежимыИспользованияРасширеннойАналитики.РегламентированныйУчетСДополнительнойАналитикой: return РегламентированныйУчетСДополнительнойАналитикой;
				case РежимыИспользованияРасширеннойАналитики.УправленческийИРегламентированныйУчет: return УправленческийИРегламентированныйУчет;
			}
			return Guid.Empty;
		}
	}
}